import Vue from 'vue'

import Router from 'vue-router'



Vue.use(Router)



/* Layout */

import Layout from '@/layout'



/**

 * Note: sub-menu only appear when route children.length >= 1

 * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html

 *

 * hidden: true                   if set true, item will not show in the sidebar(default is false)

 * alwaysShow: true               if set true, will always show the root menu

 *                                if not set alwaysShow, when item has more than one children route,

 *                                it will becomes nested mode, otherwise not show the root menu

 * redirect: noRedirect           if set noRedirect will no redirect in the breadcrumb

 * name:'router-name'             the name is used by <keep-alive> (must set!!!)

 * meta : {

    roles: ['admin','editor']    control the page roles (you can set multiple roles)

    title: 'title'               the name show in sidebar and breadcrumb (recommend set)

    icon: 'svg-name'/'el-icon-x' the icon show in the sidebar

    breadcrumb: false            if set false, the item will hidden in breadcrumb(default is true)

    activeMenu: '/example/list'  if set path, the sidebar will highlight the path you set

  }

 */



/**

 * constantRoutes

 * a base page that does not have permission requirements

 * all roles can be accessed

 */

export const constantRoutes = [

  {

    path: '/login',

    component: () => import('@/views/login/index'),

    hidden: true

  },



  {

    path: '/404',

    component: () => import('@/views/404'),

    hidden: true

  },

  {

    path: '/',

    component: Layout,

    redirect: '/dashboard',

    children: [{

      path: 'dashboard',

      name: 'Dashboard',

      component: () => import('@/pages/dashboard/index'),

      meta: { title: '首页大屏', icon: 'el-icon-house' }

    }]

  },


  {

    path: '/normal',

    component: Layout,

    children: [

      {

        path: 'index',

        name: 'normal',

        component: () => import('@/pages/recognition/index'),

        meta: { title: '通用物体识别', icon:'el-icon-sunny' }

      },

    ]

  },


  {

    path: '/animal',

    component: Layout,

    children: [

      {

        path: 'animal',

        name: 'animal',

        component: () => import('@/pages/recognition/animal'),

        meta: { title: '动物识别', icon: 'el-icon-burger' }

      },

    ]

  },


  {

    path: '/plant',

    component: Layout,

    children: [

      {

        path: 'plant',

        name: 'plant',

        component: () => import('@/pages/recognition/plant'),

        meta: { title: '植物识别', icon: 'el-icon-watermelon' }

      },

    ]

  },

  {

    path: '/car',

    component: Layout,

    children: [

      {

        path: 'car',

        name: 'car',

        component: () => import('@/pages/recognition/car'),

        meta: { title: '车型识别', icon: 'el-icon-truck' }

      },

    ]

  },


  {

    path: '/currency',

    component: Layout,

    children: [

      {

        path: 'currency',

        name: 'currency',

        component: () => import('@/pages/recognition/currency'),

        meta: { title: '货币识别', icon: 'el-icon-star-off' }

      },

    ]

  },
  
  {

    path: '/dish',

    component: Layout,

    children: [

      {

        path: 'dish',

        name: 'dish',

        component: () => import('@/pages/recognition/dish'),

        meta: { title: '菜品识别', icon: 'el-icon-potato-strips' }

      },

    ]

  },
  
  {

    path: '/ingredient',

    component: Layout,

    children: [

      {

        path: 'ingredient',

        name: 'ingredient',

        component: () => import('@/pages/recognition/ingredient'),

        meta: { title: '食材识别', icon: 'el-icon-refrigerator' }

      },

    ]

  },
  
  {

    path: '/landmark',

    component: Layout,

    children: [

      {

        path: 'landmark',

        name: 'landmark',

        component: () => import('@/pages/recognition/landmark'),

        meta: { title: '地标识别', icon: 'el-icon-wind-power' }

      },

    ]

  },
  
  {

    path: '/logo',

    component: Layout,

    children: [

      {

        path: 'logo',

        name: 'logo',

        component: () => import('@/pages/recognition/logo'),

        meta: { title: 'logo识别', icon: 'el-icon-apple' }

      },

    ]

  },
  
  // {

  //   path: '/redWine',

  //   component: Layout,

  //   children: [

  //     {

  //       path: 'redWine',

  //       name: 'redWine',

  //       component: () => import('@/pages/recognition/redWine'),

  //       meta: { title: '红酒识别', icon: 'el-icon-goblet' }

  //     },

  //   ]

  // },

{

  path: '/comment',

  component: Layout,

  children: [

    {

      path: 'index',

      name: 'comment',

      component: () => import('@/pages/comment/comment'),
      meta: { title: '用户反馈', icon: 'el-icon-user' }
    },

    {

      path: 'create',

      hidden: true,

      name: 'comment_create',

      component: () => import('@/pages/comment/commentcreate'),

      meta: { title: '反馈创建', icon: 'el-icon-user' }

    }

  ]

},

{

  path: '/file',

  component: Layout,
  meta:{title:"车辆信息",icon: 'nested' },
  children: [
    {
      path: 'Dataset',
      name: 'file_dataset',

      component: () => import('@/pages/file/Dataset'),
      meta: { title: '车辆信息',icon: 'el-icon-tickets'}
    },

    {
        path: 'create',
        hidden: true,
        name: 'file_dataset_create',
        component: () => import('@/pages/file/datasetcreate'),
        meta: { title: '车辆信息创建', icon: 'el-icon-tickets' }
      },
    {
      path: 'dataset_file',

      name: 'file_dataset_file',

      hidden:true,

      component: () => import('@/pages/file/DatasetFile'),
      meta: { title: '训练数据创建',icon: 'el-icon-tickets'}

    }

  ]

},

  
    // 404 page must be placed at the end !!!
  
    { path: '*', redirect: '/404', hidden: true }
  
  ]
  
  
  
  const createRouter = () => new Router({
  
    // mode: 'history', // require service support
  
    scrollBehavior: () => ({ y: 0 }),
  
    routes: constantRoutes
  
  })
  
  
  
  const router = createRouter()
  
  
  
  // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
  
  export function resetRouter() {
  
    const newRouter = createRouter()
  
    router.matcher = newRouter.matcher // reset router
  
  }
  
  
  
  export default router
  